Method and system for flexible channel path identifier assignment

ABSTRACT

A method and system for flexibly and efficiently assigning channel path identifiers (CHPIDs) used by operating system software in computer systems to identify the communication path to I/O devices via channels. To avoid wasted CHPIDs, which may be limited in number, CHPIDs are assigned only to channels which are installed on and configured to the computer system. The CHPIDs may be re-assigned concurrently with ongoing system operations via a user interface and/or an imported, pre-defined CHPID mapping.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to a method and system foroptimizing the I/O configuration of computer systems, and moreparticularly to enabling host computer systems utilizing channel pathidentifiers (CHPIDs) to flexibly assign the CHPIDs to channels.

[0002] CHPIDs are identifier data elements associated with channels, andare known in host computer systems (as used herein, the term “channel”refers generally to the collection of items, whether software orhardware, needed to communicate with a device; “CHPID” refers to achannel's logical identifier; and “channel port” refers to a physicalstructure residing on a channel card). For example, in mainframecomputer systems designed and built by the International BusinessMachines (IBM) corporation, CHPIDs are used by the operating systemsoftware to identify the communication path to various I/O devicesconnected to the system. Each CHPID is associated with one channel portto which a control unit and/or device is connected. When the operatingsystem performs I/O to a device over a particular channel, it uses thechannel's CHPID to address the physical channel port. CHPIDs are limitedin number, due to the constraints of system architecture.

[0003] In prior art systems, CHPIDs had a fixed assignment to channelports. The system processor had access to channel card slots. Pluggedinto the slots were channel cards physically embodying channel ports;i.e., electronic circuitry for performing I/O operations to controlunits and devices connected to the channels. In setting up an I/Oconfiguration for the system, each card slot was allotted a fixed numberof sequential CHPIDs, corresponding to the maximum number of channelsports per card. Typically, this maximum number was four.

[0004] The foregoing arrangement had disadvantages. For instance, asituation known as “blocked CHPIDs,” in which CHPIDs were unavailablefor assignment to physical channel ports, frequently arose. Some typesof channel cards might have fewer than the maximum number of channelports (e.g., as few as one), but would occupy a card slot to which themaximum number of CHPIDs were assigned. This meant that some of theassigned CHPIDs were never used and were therefore wasted.

[0005] As the technology of computers has advanced, the number ofavailable channel ports per channel card has acquired a range whichreflects an increasing sophistication with which such cards may beutilized. Some channel cards may have only one physical channel port,while others, currently, may have as many as fifteen. If, for example,fixed CHPIDs were assigned based on fifteen maximum possible channelsaccording to the above-described scheme, a one-channel card would wastefourteen CHPIDs. Thus, fixed CHPID assignments with current technologieswould incur wastage of CHPIDs on an unacceptable scale.

[0006] Moreover, typically customers who buy upgrades to their mainframesystems have established CHPID-to-channel definitions which arereflected in the operating system software. The introduction of upgradesin the form of, for example, a next generation of processor or improvedperipheral hardware typically had a disruptive effect in that asubstantial and error-prone effort was necessary to re-assign CHPIDs toreflect the upgraded configuration.

[0007] In addition, mainframe customers often complained that almostidentical I/O configurations, differing, for example, in only three orfour of installed channel cards, could result in completely differentCHPID assignments. A more homogeneous, machine-independent handling ofCHPID assignments was regarded as preferable.

[0008] An approach is called for which addresses the above-describedconcerns.

SUMMARY OF THE INVENTION

[0009] In a method and system according to the present invention, CHPIDsare assigned based on the actual physical channel ports present in acomputer system, rather than being allotted in fixed numbers to channelcard slots. This avoids the deficiencies of the prior art wherein“blocked CHPIDs” were wasted.

[0010] In an embodiment, a default CHPID assignment may be initiallyestablished by sensing channel ports physically connected to thecomputer system, and assigning CHPIDs only to those channels. A userinterface is provided allowing for re-assignment of CHPIDs concurrentlywith ongoing operations of the computer system.

[0011] The invention further provides for pre-defined CHPID mappings tobe “exported,” i.e., written to a computer-usable medium, and“imported,” i.e., read from a computer-usable medium. This can providesubstantial convenience to a user of the invention, in, for example,system upgrades, since the user does not need to perform the error-pronetask of re-assigning CHPIDs to conform to the upgrades. Further,importing the CHPID mappings changes saves the effort of entering themmanually via the user interface.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012]FIG. 1A is a functional block diagram illustrating elements and aprocessing flow of the invention;

[0013]FIG. 1B shows a possible panel display of a user interfaceaccording to the invention;

[0014]FIG. 2 shows a possible record format for an import/export fileaccording to the invention;

[0015]FIG. 3 is another functional block diagram illustrating elementsand a processing flow of the invention;

[0016]FIGS. 4A and 4B are flowcharts illustrating a possible processingsequence for updating CHPID mappings;

[0017]FIG. 5 illustrates an example of an electrical path correspondingto a channel port (including the hardware address); and

[0018]FIG. 6 shows a general purpose host computer system for processingcomputer-executable instructions according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

[0019] The present invention provides a method and system for flexiblyand concurrently, i.e., without affecting ongoing operations, assigningCHPIDs in a computer system, typically a mainframe computer system suchas one having an IBM S/390 architecture. In an embodiment, the inventioncomprises a user interface which presents information visually indisplay panels of a service element (SE) used to service and controlaspects of the main computer system. By manipulation of the SE throughselectable user inputs, CHPID assignment may be accomplished in a numberof modes.

[0020] In one mode, for example, an initial default assignment of CHPIDsmay be performed, prior to bringing the main computer system into afully operational state. The initial default assignment may be appliedin a Power-On-Reset (POR) process applied to the computer system. ThePOR may be initiated by manipulation of the SE. During POR, an initialmicrocode load (IML) is performed. The IML builds channel configurationmaps used by I/O handling routines of the main processor's operatingsystem once fully operational. The channel configuration maps includethe CHPID-to-channel mapping, and typically are part of a subset ofsystem functions and data referred to as a “channel subsystem.” To buildthe default CHPID-to-channel mapping of the channel subsystem, the IMLcauses code to be executed which senses what physical channel ports arepresent in the system, based on the channel cards installed. The codesenses the hardware type of the channels, followed by their hardwareaddress. To build the mapping, the code then assigns CHPIDs to channelsstarting with CHPID 0×00 (where “0×” indicates hexadecimal notation),and continuing sequentially. It is noted that the default mapping is notlimited to the foregoing; alternative default mappings are also withinthe scope of the invention.

[0021] The CHPID-to-channel mapping is “persistent,” meaning that themapping initially established is unaffected by subsequent PORs, unlesschannels have been physically uninstalled or new channels are installed.The SE maintains a local I/O configuration record database containingthe current CHPID mapping. If new channels, installed since the lastPOR, are sensed in a subsequent POR, unused CHPIDs are assigned to thenew channels starting with the lowest unused CHPID number available.Similarly, the removal of previously installed channels is detected andCHPIDs are freed up accordingly.

[0022] Newly installed or uninstalled channels may also be sensed“concurrently,” i.e., while the main computer system is fullyoperational, and default CHPIDs may be correspondingly assigned or freedup.

[0023] In another mode provided by the invention, CHPIDs generally maybe assigned dynamically or concurrently, that is, concurrently withnormal, ongoing operations by the main system such as the execution ofapplication programs.

[0024] CHPIDs may be assigned concurrently, for example, by usermanipulation of the SE. The SE includes specialized software, and alocal processor, memory and storage independent of the main computersystem. Referring now to FIG. 1A, one possible embodiment of an SE 100is symbolically illustrated as a personal computer system comprising amemory and processor unit 101. A user may view panels relating to CHPIDassignment on a display device 102 of the SE 100, and enter inputs forchanging CHPID assignment via an input device of the SE such as akeyboard 103 and/or mouse 104. The SE further comprises means, such asat least one diskette drive in unit 101, for reading from and writing toa computer-usable medium such as a diskette 105. As noted above, the SEprovides an interface to users for servicing and controlling some of thefunctions of the main processor, also referred to herein as the “CentralElectronic Complex” (CEC).

[0025] As shown in block 106, to perform a CHPID assignment change, theCHPID's currently associated channel must be placed “offline” (i.e.,identified to the operating system as not in use, and unavailable), andin service mode. Taking a channel offline and placing it in service modeestablishes a “manual reserved” state for the channel which prevents itfrom being allocated for use by the main system while its assignment isbeing changed.

[0026] To invoke a CHPID assignment (or re-assignment), a user would,for example, use a mouse to click on a “selectable channel CHPIDassignment” task icon on a panel display, and the SE would enter into aflexible mapping task according to the invention, as shown in block 107.After checking to see whether the system was operational (IML complete),SE code would read the current CHPID-to-channel mapping from the localI/O configuration record database, and convert it into a displayableformat for the user panel.

[0027] It is noted that if the main computer system is not operational,then the channels are inactive and only the local SE I/O configurationrecord database will be updated with any change in CHPID assignment. TheSE database, in combination with any newly sensed changes in thechannels installed, would be used in the next IML as the source of themost current CHPID-to-channel mapping to build the channel configurationmapping of the channel subsystem.

[0028]FIG. 1B shows an example of one possible CHPID status paneldisplay. CHPIDs are mapped to physical location (frame, cage, card slot,and channel port (jack)). A “frame” refers to a physical structuresupporting I/O “cages.” The I/O cages house card slots. As noted above,card slots receive channel cards, and the channel cards include portsphysically accessed by jacks.

[0029] Line 1, for example, of FIG. 1B, specifies that CHPID 20 isassigned to port (jack) J.00 in card slot LG20. If, for example, a3-port channel card were plugged into the card slot, jacks J.00-J02would be displayed. If, on the other hand, a 15-port channel card wereplugged into the card slot, jacks J.00-J.14 would be displayed. The portis in cage A01A in the cage indexing system of the example. The“MBA/STI” entries refer to internal buses that drive the cards. Thedisplay may include information specifying an adapter type. A panel mayalso be selected to display channel state.

[0030] Referring now to FIG. 1A, the user can alter the CHPID mapping asshown in block 108. This may be accomplished, for example, by selecting“Proposed CHPID Change” on the display panel illustrated in FIG. 1B.This invokes a pop-up window (not shown) in which the user may specify acurrent CHPID assignment and a proposed CHPID assignment changing thecurrent assignment. At this stage, the change is only “proposed” becausea number of validity checks must be performed before the change isactually put into effect, as described in greater detail below. The usermay enter as many proposed CHPID changes as there are channelsavailable.

[0031] After entering proposed CHPID re-assignments, the user may choosethe “Apply” option as shown in FIG. 1B. This selection will cause theproposed mapping changes to be applied to the current system settings.The SE code performs the appropriate validity checks and, assuming thevalidity checks do not prevent it, passes a CHPID map array 109 tochannel subsystem code, along with requests to update the channelconfiguration mapping of the main system with the proposed CHPIDchanges.

[0032] The channel subsystem code updates the channel configurationmapping with the proposed changes as shown in block 110. When thisfunction completes successfully, the CHPID changes are active in thechannel subsystem, and ongoing system operations can utilize the newCHPID numbers when the affected channels are brought back online.

[0033] When the channel subsystem code completes the updating function,it returns to the SE code, and the SE I/O configuration record databaseis updated with the new mapping, as shown in block 111.

[0034] As noted above, in the non-concurrent mode (POR/IML not complete)proposed changes are only saved locally in the SE I/O configurationrecord database. In either mode (concurrent or non-concurrent), eachsuccessful application of proposed CHPID assignments will also save an“undo” file; a plurality of levels of such “undo” files may be saved.

[0035] While the proposed CHPID changes are being applied, they willappear in the “Proposed CHPID” field of the display shown in FIG. 1B.Upon successful completion of an “Apply” function, the “Proposed CHPID”field will go blank. Via a read (block 112 of FIG. 1A) of the updated SEdatabase, the new CHPID assignments will appear in the “Assigned CHPID”field.

[0036] As noted above, the SE code performs verification checks when theuser selects “Apply.” Some of the verification checks include checkingfor whether the proposed CHPID is valid; i.e., whether it corresponds toa physical channel installed and configured. Only physical channelsinstalled and configured may be mapped. Further, checking is performedfor whether the channel is in “manual reserved” (offline and servicemode). As noted above, a channel must be in manual reserved state to beremapped, to ensure that the operating system does not attempt toallocate and use the channel during re-mapping. Additionally, theuser-entered proposed CHPID changes are checked for duplication.

[0037] If the verification check detects that a selected channel is notin a manual reserved state, a warning message may be issued to the user.The warning will allow the proposed entry but inform the user that thechange cannot be applied if the channel is not in a manual reservedstate. If the channel is in a stand-by (inactive) state, the user may beoffered the option of invoking a function to place the channel in amanual reserved state.

[0038] A “Verify” option may be offered to the user, as shown in FIG.1B. Selecting this option will cause a validity check to be performed,but the proposed re-mapping will not be saved or applied. The “proposed”CHPID will remain as “proposed.” “Clear” and “Exit” options may also beoffered. The “Clear” option will blank out all proposed CHPID entries.No validation checking is performed. The “Exit” option will exit thepanel. If there are proposed CHPID values entered, the user will beprompted to return or discard the proposed CHPID settings.

[0039] If no problems are detected by the verification checking, the SEcode proceeds to build a map array of all CHPIDs. Within the array isthe latest mapping, including the proposed changes, of CHPID to physicallocation (frame, cage, card slot, channel port jack)). CHPIDs that arenot assigned to a physical or an internal channel are marked as unusedin the array.

[0040] The SE code then issues requests to the channel subsystem code,as described above, to update the channel system with the proposed CHPIDassignments. A more detailed discussion of how the foregoing isaccomplished is given hereinafter.

[0041] The present invention also provides for the options of importingand exporting a desired CHPID mapping. Such options provide significantbenefits to customers, for example, in view of the disruption caused bysystem upgrades as noted above. The export function allows a desired orpre-defined CHPID mapping to be downloaded (exported) to acomputer-usable medium such as a diskette. The exported CHPID mappingmay then be read (imported) from the diskette (or other computer-usablemedium) at, for example, a customer site receiving an upgrade. Theexported CHPID mapping may, for example, duplicate the customer'sexisting channel configuration, so that the customer does not need toperform the error-prone task of re-assigning CHPIDs to conform to theupgrade. Further, importing the CHPID mappings changes saves the effortof entering them manually as described above.

[0042] The import and export options may be displayed by a user byselecting the “Options” field as shown in FIG. 1B. This selection wouldcause a pop-up window (not shown), listing further user optionsavailable, including import and export.

[0043] As noted above, the SE typically includes means, such as at leastone diskette drive, for reading from and writing to removable, portablecomputer-usable media, such as diskettes. When invoked at theappropriate SE panel, the export function will write a CHPID mappingfile to a diskette loaded into an SE diskette drive. The file may havebeen generated by an optimization tool, generated from a pre-existingCHPID mapping, or manually edited prior to exporting, to define adesired mapping.

[0044] The import function will read a CHPID mapping file from adiskette drive of the SE, and check it for validity as described abovein connection with the procedure for applying proposed CHPIDassignments.

[0045]FIG. 2 shows one possible format of records making up animport/export CHPID mapping file. Each record represents one channelport. As can be seen from FIG. 2, the information correspondssubstantially to the information shown in the example display of FIG.1B.

[0046] If one or more map import data records contains a channellocation that is not installed and configured on the system, then thatentry will be listed in a warning message, with a user option tocontinue or not. If the user elects to continue, the entry will beignored.

[0047] If an import file record has the same CHPID value that is thecurrently assigned value for the corresponding channel location (i.e.,no change), then that record will be ignored (nothing put in the“proposed” field).

[0048] Some import records may indicate proposed CHPIDs having a“swapped” status relating to a diagnostic procedure involving theswapping of cables to locate failing hardware. A warning message will bedisplayed and the user given the option of continuing or not. If theuser continues, the entries affecting swapped channels will be ignored.

[0049] If the import file contains channel locations that are notcurrently in the “manual reserved” state, a warning message will bedisplayed but the user will have the option to continue.

[0050] The imported CHPID mapping will cause the “Proposed CHPID” fieldto be updated in the SE panel display as discussed above in connectionwith concurrent CHPID changes, but only if the imported mapping isdifferent from the current mapping. The user must select “Apply” to makethe imported assignments active. A reserved, non-swapped state isrequired for all channels being re-mapped.

[0051] Additional functions which may be invoked via the “Options”selection include “Undo” and “Reset to Default Assignment.” As notedabove, the “Apply” function saves the mapping at the time a valid“Apply” takes place. The changes are saved in temporary files. The“Undo” will read the most recent previous change and enter that mappinginto the “Proposed CHPID” field. There may be a plurality of levels of“Undo” data. “Apply” must be selected in order to make the “Undo”mappings active. The “Undo” only affects CHPID assignment modifications.

[0052] Selecting the “Reset to Default Assignment” function will cause awarning message to be issued that all the CHPID assignments may change,and asking the user to decide whether or not to continue. If theoperation is continued, the current local SE HOM and channel subsystemmappings will be erased, and new CHPID assignments will be made byapplying the process for establishing an initial default assignment asdescribed above. An “Undo” mapping will be saved.

[0053] A more detailed discussion of how the channel subsystem of theCEC is updated with proposed CHPID changes follows, in connection withFIGS. 3, 4A, 4B and 5.

[0054]FIG. 3 illustrates a partitioning of the invention between SEelements and CEC elements.

[0055] As shown in FIG. 3, on the SE side of the partition, SE panelcode 300 accepts user inputs 301 via a display panel or import file 302as described above, and builds a CHPID map array 303 reflecting proposedCHPID assignment changes. The array is passed to hardware object model(HOM) code 304, which sets up interfaces with the channel subsystem(CSS) in the CEC.

[0056] On the CEC/CSS side, a CHPID re-assignment is treated as an“uninstall” 305 followed by an “install” 306. The HOM code on the SEside sorts out, from the CHPID map array, which CHPIDs are to beuninstalled and installed, and passes requests (indicated by arrowsdirected from the HOM 304 to the uninstall/install blocks 305/306) tothe CSS to perform the required uninstalls and installs. The HOM codealso passes the CSS hardware address information for each channel. Thehardware address uniquely identifies the electrical path of eachchannel.

[0057] As further shown in FIG. 3, the CSS responds to the HOM uponcompletion of an uninstall, and again upon completion of the subsequentinstall (indicated by arrows directed from the uninstall/install blocks305/306 to the HOM 304). The CSS will then generate updated CHPID stateand status 307 and send it to the SE. Code 308 for updating the CHPIDstate and status on the SE side will receive the updated state andstatus from the CSS and send it to the panel code 300 to refresh thepanel display. (Channel “state” refers to such conditions as“online/offline,” “stand-by” and “manual reserved” as mentioned above.Channel “status” refers to such conditions as whether a channel has adevice attached and others.) The HOM code 304 collects the CSS changes,updates the SE I/O configuration record database 309 with the new CHPIDmapping, and sends the panel code a return code. The panel code readsthe updated I/O configuration record database to refresh the paneldisplay.

[0058] Operations on the CEC/CSS side are discussed in more detail inconnection with FIGS. 4A and 4B. FIGS. 4A and 4B show a process flow inresponse to a request for an uninstall or an install from the SE.

[0059] Block 400 of FIG. 4A represents a request for an uninstall orinstall. In response to such a request, internal control blocks are setup as shown in block 401.

[0060] As noted earlier, the CHPID map array generated by the SE sideand passed to the CSS includes a CHPID-to-channel mapping. A step oflooping through all channel ports included in the CHPID map array isentered as shown in block 402, to determine which of the channel portsmight need physical addressability activated as a result of being newlyconfigured the mapping, and which ports might need to have physicaladdressability de-activated due to being excluded from the new mapping.

[0061] Thus, within the loop, for each channel port the CSS determineswhether it is in the current channel port configuration, as shown inblock 403. If it is, block 404 determines whether it is in the newconfiguration. If block 404 indicates that the channel port is not inthe new configuration, physical addressability and accessibility arede-activated for the channel port as shown in block 406, and the loopprocesses the next channel port (blocks 408, 403). If block 404indicates that the channel port is in the new configuration, then itneed not be de-activated, and the loop processes the next channel port.

[0062] If block 403 determines that the channel port is not in thecurrent configuration, block 405 is executed to determine whether it isin the new configuration. If it is, addressability and accessibilityneed to be activated for the channel port, and accordingly block 407 isexecuted. If not, no accessibility is needed, and the next channel portis processed.

[0063] After the loop is finished, a step 409 of adjusting I/O processor(IOP, also known as System Assist Processor, SAP) affinity may beperformed. This is done because the CEC typically includes specializedmicroprocessors (IOPs) dedicated to certain channels for greaterefficiency.

[0064] Next, the new channel port configuration established by theforegoing is activated as shown in block 410. The process flow continuesin FIG. 4B.

[0065] As shown in block 411, the CSS code generates a vector of theadded and removed CHPIDs, using the data provided in the CHPID map arraysent over from the SE side. Then, the CSS proceeds to loop through allthe CHPIDs in the generated vector to determine which CHPIDs wereremoved, and to update the corresponding architected CSS control blocksaccordingly, as shown in blocks 412-414. The CSS control blocks includedata correlating configuration and status information of particularphysical channel ports to the corresponding CHPIDs.

[0066] Blocks 415-417 represent the steps for updating the CSS controlblocks to reflect the adding of CHPIDs.

[0067] Block 418 may be performed to accommodate an operational modewhich is available on IBM S/390 systems. Such systems are able tooperate in a “logical partition” mode, in which many separate logicalprocessors and operating systems can be executing simultaneously. TheLPAR Hypervisor software manages the partitioning. Because some of thechannels could be shared by the partitions, the LPAR Hypervisor needs tobe provided with the new CHPID configuration.

[0068] As shown in block 419, after the foregoing steps, the uninstallor install is complete, and the CSS notifies the SE as described above.It is noted that while FIG. 4B shows the uninstall/install processexecuting serially, the process may alternatively first perform alluninstalls, respond to the SE with uninstalls complete, then perform allinstalls and respond to the SE.

[0069] It is further noted that CHPID additions alone, or CHPIDdeletions alone, can be effected by a process similar to that describedabove. Such CHPID additions or deletions alone might be performedconcurrently (during system operations), for example, to reflect theaddition or removal of channel cards.

[0070] In a panel similar to the one described above in connection withCHPID reassignment, a user may specify CHPIDs proposed to be added to ordeleted from (as opposed to re-assigned) the current mapping.

[0071]FIG. 5 shows how the CEC addresses a channel using the hardwareaddress describing a certain physical path which is provided by the HOMcode in the SE, when activating or de-activating addressability to achannel port as described above. FIG. 5 shows the CEC 500 comprisingmemory 501 and I/O to memory adapter 502. A physical channel in additionmay include a link from the I/O to memory adapter 502 to the I/O adapterlevel 1 in an I/O cage 504 as well as additional levels of I/O adapters(as an example, 3 levels of I/O adapters are shown).

[0072] As an arbitrary example, as shown in the box labeled 505, channelX has a hardware address of 0×027D as indicated by the physicalconnections shown. At the lowest level, the channel is connected to port1 of the I/O adapter level 3. At the next level, the I/O adapter level 3is connected to port 3 of the I/O adapter level 2. At the next level,the I/O adapter level 2 is connected to port 3 of the I/O adapter level1. Then, the I/O adapter level 1 is using link number 1 of the I/O tomemory adapter 502. The I/O to memory adapter is number 1 out of acertain number of such I/O to memory adapters available in the system.

[0073] The bitmask shown indicates the bit positions corresponding tothe above-described hierarchy, and the binary values of thecorresponding connecting bits. Thus, assigning this hardware address toa certain CHPID, when appropriately decoded, enables the correspondingchannel port to be addressed (addressability 406 in FIG. 4A).Accessibility 406 in FIG. 4A is established by enabling the affectedhardware ports to route certain information to the next level in theshown hardware hierarchy.

[0074] In view of the foregoing description, it may be appreciated thatthe present invention avoids the deficiencies of the prior art andprovides for substantial advantages by efficiently assigning CHPIDs.CHPIDs are assigned only to channels physically installed on andconfigured to the system, thereby avoiding wasted or blocked CHPIDs.

[0075] As is further clear from the above discussion, elements of theinvention are implemented as computer-executable instructions which whenexecuted perform steps of the described method. The instructions aretangibly embodied in a program module or modules stored oncomputer-usable media.

[0076] For example, computer-executable instructions for implementingthe SE functions described above may be written in microcode and may bestored on a suitable computer-usable medium. Similarly, channelsubsystem code for building an updated CHPID mapping may also be writtenin microcode, stored on a suitable computer-usable medium and may beexecuted in the CEC 500 shown in FIG. 5.

[0077]FIG. 6 shows a high-level representation of a general purpose hostcomputer for implementing an embodiment of the invention in the form ofcomputer-executable instructions, such as might be realized by a varietyof known and commercially available hardware and software elements. Thesystem comprises a memory 610, one or more central processing units 608,one or more I/O processors 618, and one or more channels (e.g., 620,622, 624, 628).

[0078] A computer internal program or a collection of computer internalprograms (microcode 612) comprising computer-executable instructions forperforming method steps according to the present invention may be storedand transported on computer-usable media such as diskette 601, CD-ROM602, magnetic tape 603 and fixed disk 604. To perform the steps of themethod, the instructions may be retrieved from the computer-usable media601-604, using, for example, drive means attached to the SE, andexecuted in the SE; or may be loaded into memory 610 and executed by anI/O processor 618. The method disclosed hereinabove may find specificimplementations in a variety of programming structures and data forms,which are considered to be within the abilities of a programmer ofordinary skill in the art after having reviewed the specification.

[0079] The foregoing description of the invention illustrates anddescribes the present invention. Additionally, the disclosure shows anddescribes only the preferred embodiments of the invention, but it is tobe understood that the invention is capable of use in various othercombinations, modifications, and environments and is capable of changesor modifications within the scope of the inventive concept as expressedherein, commensurate with the above teachings and/or the skill orknowledge of the relevant art. The embodiments described hereinabove arefurther intended to explain best modes known of practicing the inventionand to enable others skilled in the art to utilize the invention assuch, or other, embodiments and with the various modifications requiredby the particular applications or uses of the invention. Accordingly,the description is not intended to limit the invention to the formdisclosed herein. Also, it is intended that the appended claims beconstrued to include alternative embodiments.

What is claimed is:
 1. A channel path identifier (CHPID) assignmentsystem, comprising: CHPIDs associated with channels in a computersystem; and assignment means for applying assignments of said CHPIDs tosaid channels; wherein said assignment means assigns CHPIDs only tochannels installed and configured in said computer system.
 2. The CHPIDassignment system of claim 1, wherein said assignment means senseschannel ports physically installed on said computer system to establisha default assignment of said CHPIDs.
 3. The CHPID assignment system ofclaim 2, wherein said default assignment is established during aninitial microcode load of said computer system.
 4. The CHPID assignmentsystem of claim 1, said assignment means comprising user interface meansfor applying a re-assignment of a currently assigned CHPID to adifferent channel.
 5. The CHPID assignment system of claim 4, furthercomprising application means for applying said re-assignment to acurrent channel configuration of said computer system.
 6. The CHPIDassignment system of claim 5, wherein said re-assignment may beperformed concurrently with normal operations of said computer system.7. The CHPID assignment system of claim 5, said application meanscomprising: means for building a new CHPID-to-channel mapping based onsaid reassignment; and means for requesting a channel subsystem of saidcomputer system to establish said new mapping as the current channelconfiguration of said computer system.
 8. The CHPID assignment system ofclaim 7, said channel subsystem comprising: means for activating orde-activating channels based on said mapping; and means for assigningCHPIDs to activated channels based on said mapping.
 9. The CHPIDassignment system of claim 4, said user interface means comprising atleast one display panel displaying a current CHPID assignment status,and input means for changing said current CHPID assignment status. 10.The CHPID assignment system of claim 9, wherein said panel displays aCHPID and an associated channel physical location.
 11. The CHPIDassignment system of claim 4, wherein a user manipulates said userinterface means to enter inputs directing a proposed change of CHPIDassignments.
 12. The CHPID assignment system of claim 11, furthercomprising means for checking the validity of said proposed change. 13.The CHPID assignment system of claim 1, said assignment means comprisingmeans for recording a pre-defined CHPID assignment on a computer-usablemedium.
 14. The CHPID assignment system of claim 1, said assignmentmeans comprising means for reading a pre-defined CHPID assignmentrecorded on a computer-usable medium.
 15. A method for assigning channelpath identifiers (CHPIDs), comprising the steps of: (a) providing CHPIDsassociated with channels in a computer system; and (b) assigning saidCHPIDs only to channels installed and configured in said computersystem.
 16. The method of claim 15, wherein said step (b) comprisessensing channel ports physically installed on said computer system toestablish a default assignment of said CHPIDs.
 17. The method of claim16, wherein said default assignment is established during an initialmicrocode load of said computer system.
 18. The method of claim 15,wherein said step (b) comprises (c) re-assigning a currently assignedCHPID to a different channel.
 19. The method of claim 18, wherein saidchannel is included in a current channel configuration of said computersystem.
 20. The method of claim 18, wherein said CHPID is re-assignedconcurrently with normal operations of said computer system.
 21. Themethod of claim 18, said step (c) comprising: (d) building a newCHPID-to-channel mapping based on said step (c); and (e) requesting achannel subsystem of said computer system to establish said new mappingas the current channel configuration of said computer system.
 22. Themethod of claim 21, said step (e) comprising: activating orde-activating channels based on said mapping; and assigning CHPIDs toactivated channels based on said mapping.
 23. The method of claim 15,further comprising: providing a user interface comprising at least onedisplay panel; displaying a current CHPID assignment status on saiddisplay panel; and providing input means for changing said current CHPIDassignment status.
 24. The method of claim 23, wherein said paneldisplays a CHPID and an associated channel physical location.
 25. Themethod of claim 23, further comprising manipulating said user inputmeans to enter inputs directing a proposed change of CHPID assignments.26. The method of claim 25, further comprising checking the validity ofsaid proposed change.
 27. The method of claim 15, further comprisingrecording a pre-defined CHPID assignment on a computer-usable medium.28. The method of 15, further comprising reading a pre-defined CHPIDassignment recorded on a computer-usable medium.
 29. A computer-usablemedium storing computer-executable instructions, said instructions whenexecuted implementing a process comprising: (a) providing CHPIDsassociated with channels in a computer system; and (b) assigning saidCHPIDs only to channels installed and configured in said computersystem.
 30. The computer-usable medium of claim 29, wherein said step(b) comprises (c) re-assigning a currently assigned CHPID to a differentchannel.
 31. The computer-usable medium of claim 30, said step (c)comprising: (d) building a new CHPID-to-channel mapping based on saidstep (c); and (e) requesting a channel subsystem of said computer systemto establish said new mapping as the current channel configuration ofsaid computer system.
 32. The computer-usable medium of claim 31, saidstep (e) comprising: activating or de-activating channels based on saidmapping; and assigning CHPIDs to activated channels based on saidmapping.
 33. The computer-usable medium of claim 29, said processfurther comprising: providing a user interface comprising at least onedisplay panel; displaying a current CHPID assignment status on saiddisplay panel; and providing input means for changing said current CHPIDassignment status.
 34. The computer-usable medium of claim 33, whereinsaid panel displays a CHPID and an associated channel physical location.35. The computer-usable medium of claim 33, said process furthercomprising manipulating said user input means to enter inputs directinga proposed change of CHPID assignments.